package cn.cl;

import redis.clients.jedis.Jedis;

/**
 * 标题：
 * 作者：何处是归程
 * 时间：2020/4/10 - 8:22
 */
public class TestString {
	public static void main(String[] args) {
		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("清空数据：" + jedis.flushDB());
		System.out.println("存储值 k1 : hello 键值对：" + jedis.set("k1", "hello"));
		System.out.println("存储值 k2 : word 键值对：" + jedis.set("k2", "world"));
		System.out.println("存储值 k3 : 0 键值对：" + jedis.set("k3", "0"));
		System.out.println("判断键k1是否存在：" + jedis.exists("k1"));
		System.out.println("获取键k1的value：" + jedis.get("k1"));
		System.out.println("获取键k2的value：" + jedis.get("k2"));
		System.out.println("获取键k3的value：" + jedis.get("k3"));
		System.out.println("为键k1的value后面追加字符串redis：" + jedis.append("k1", "redis"));
		System.out.println("获取键k1的value：" + jedis.get("k1"));
		System.out.println("获取键k1的长度：" + jedis.strlen("k1"));
		System.out.println("将指定键的value + 1：" + jedis.incr("k3"));
		System.out.println("获取键k3的value：" + jedis.get("k3"));
		System.out.println("将指定键的value - 1：" + jedis.decr("k3"));
		System.out.println("获取键k3的value：" + jedis.get("k3"));
		System.out.println("将指定键的value + 指定 的数：" + jedis.incrBy("k3", 10));
		System.out.println("获取键k3的value：" + jedis.get("k3"));
		System.out.println("将指定键的value - 指定 的数：" + jedis.decrBy("k3", 10));
		System.out.println("获取键k3的value：" + jedis.get("k3"));
		System.out.println("按自定义的范围截取输出字符串：" + jedis.getrange("k1", 2, 5));
		System.out.println("替换从指定索引开始的字符串：" + jedis.setrange("k1", 5, "java"));
		System.out.println("获取键k1的value：" + jedis.get("k1"));
		System.out.println("存储的时候设置键的过期时间：" + jedis.setex("k4", 60, "test"));
		System.out.println("如果当前key不存在就创建key，如果存在就创建失败：" + jedis.setnx("k5", "setnx"));
		System.out.println("如果当前key不存在就创建key，如果存在就创建失败：" + jedis.setnx("k5", "setnx"));
		System.out.println("一次性存储多个key，如果key重复则覆盖：" + jedis.mset("k6", "v6", "k7", "v7", "k8", "v8"));
		System.out.println("一次性存储多个key，如果key重复则失败：" + jedis.msetnx("k6", "v6", "k7", "v7", "k8", "v8"));
		System.out.println("一次性读取多个key：" + jedis.mget("k1", "k2", "k3", "k4", "k5"));
		System.out.println("设置组合key来实现key的复用：" + jedis.set("user:1:name", "Lu"));
		System.out.println("如果不存在值就返回none，如果存在值就返回原始值并设置新值：" + jedis.getSet("k1", "over"));
		System.out.println("清空数据：" + jedis.flushDB());
	}
}
